home *** CD-ROM | disk | FTP | other *** search
- #
- # Interpolation of curves using piecewise polynomials.
- #
- # Gershon Elber, November 1995.
- #
-
- view_mat = scale( vector( 0.8, 0.8, 0.8 ) );
- viewobj( view_mat );
-
- viewstate( "FinrAprx" );
- viewstate( "FinrAprx" );
- viewstate( "WiderLns" );
- viewstate( "WiderLns" );
-
- Pl = list( point( -1.0, 0, 0 ),
- point( 0.0, 1, 0 ),
- point( 1.0, 0, 0 ) );
- Crv = cinterp( Pl, 3, 3, PARAM_UNIFORM );
- color( Pl, green );
- color( Crv, yellow );
- interact( list( Pl, Crv ) );
-
- Pl = list( point( -1.0, 0, 0 ),
- point( -0.5, 0, 0 ),
- point( 0.0, 1, 0 ),
- point( 0.5, 0, 0 ),
- point( 1.0, 0, 0 ) );
- Crv = cinterp( Pl, 5, 5, PARAM_UNIFORM );
- color( Pl, green );
- color( Crv, yellow );
- interact( list( Pl, Crv ) );
-
- Pl = list( point( -1.0, 0, 0 ),
- point( -0.66, 0, 0 ),
- point( -0.33, 0, 0 ),
- point( 0.0, 1, 0 ),
- point( 0.33, 0, 0 ),
- point( 0.66, 0, 0 ),
- point( 1.0, 0, 0 ) );
- Crv = cinterp( Pl, 7, 7, PARAM_UNIFORM );
- color( Pl, green );
- color( Crv, yellow );
- interact( list( Pl, Crv ) );
-
- Pl = list( point( -1.0, 0, 0 ),
- point( -0.75, 0, 0 ),
- point( -0.5, 0, 0 ),
- point( -0.25, 0, 0 ),
- point( 0.0, 1, 0 ),
- point( 0.25, 0, 0 ),
- point( 0.5, 0, 0 ),
- point( 0.75, 0, 0 ),
- point( 1.0, 0, 0 ) );
- Crv = cinterp( Pl, 9, 9, PARAM_UNIFORM );
- color( Pl, green );
- color( Crv, yellow );
- interact( list( Pl, Crv ) );
-
- Pl = list( point( -1.0, 0, 0 ),
- point( -0.8, 0, 0 ),
- point( -0.6, 0, 0 ),
- point( -0.4, 0, 0 ),
- point( -0.2, 0, 0 ),
- point( 0.0, 1, 0 ),
- point( 0.2, 0, 0 ),
- point( 0.4, 0, 0 ),
- point( 0.6, 0, 0 ),
- point( 0.8, 0, 0 ),
- point( 1.0, 0, 0 ) );
- Crv = cinterp( Pl, 11, 11, PARAM_UNIFORM );
- color( Pl, green );
- color( Crv, yellow );
- interact( list( Pl, Crv ) );
-
- for ( a = 0.0, 0.02, 1.0,
- Pl = list( point( -1.0, 0, 0 ),
- point( -0.8, 0, 0 ),
- point( -0.6, 0, 0 ),
- point( -0.4, 0, 0 ),
- point( -0.2, 0, 0 ),
- point( 0.0, a, 0 ),
- point( 0.2, 0, 0 ),
- point( 0.4, 0, 0 ),
- point( 0.6, 0, 0 ),
- point( 0.8, 0, 0 ),
- point( 1.0, 0, 0 ) ):
- Crv = cinterp( Pl, 11, 11, PARAM_UNIFORM ):
- color( Pl, green ):
- color( Crv, yellow ):
- view( list( Pl, Crv ), on ) );
-